export function throttle(fn, delay = 500) {
  let last = 0;
  let timer = null;
  return function (...args) {
    let now = +new Date();
    if (now - last < delay) {
      // 如果间隔时间小于我们设定的阈值，则重新生成一个定时器
      if (timer) clearTimeout(timer);
      timer = setTimeout(() => {
        last = now;
        fn.call(this, args);
      }, delay);
    } else {
      // 如果 间隔时间大于设定的阈值，就执行一次。
      last = now;
      fn.call(this, args);
    }
  };
}